import Mock from 'mockjs'

// 通过extend方法来创建包邮信息的数据
Mock.Random.extend({
  sendway: function () {
    const arr = ['同城配送', '跨城配送', '到店自提']
    return this.pick(arr)
  },
  status: function () {
    const arr = ['待支付', '已支付', '待配送', '已收货', '已发货', '申请退款', '已退款', '待自提', '已自提']
    return this.pick(arr)
  }
})
const data = Mock.mock('/product', {
  'list|5': [
    {
      product_name: '@cword(2,4)', // 商品名称
      'price|1-10000': 1, // 价格，整数部分1~10000,小数保留两位
      free_mail: '@free_mail()', // 包邮形式
      seller: '@cname()', // 卖家的名字
      image: '@image()', // 随机的商品图片
      send_place: '@city(true)', // 发货地址
      pname: '@pname', // 商品名称
      'ordernumber|10000-99999': 10000, // 订单号
      sendway: '@sendway', // 配送方式
      date: '@datetime()', // 下单时间
      status: '@status',// 订单状态
      'sendmoney|1-20': 1 // 配送费
    }
  ]
})
console.log(data)
// 通过Mock.mock函数模拟post请求
Mock.mock('/addgoods', 'post', function (option) {
  // 这里的option是请求的相关参数
  console.log(option)

  try {
    var params = JSON.parse(option.body)
  } catch (err) {
    return Mock.mock({
      status: 444,
      message: '请求参数有误'
    })
  } console.log(params)
  if (typeof params.price !== 'number' || params.price < 0) {
    return Mock.mock({
      status: 448,
      message: '商品价格必须是数字，而且大于0'
    })
  }
  return Mock.mock({
    status: 200,
    message: '添加商品成功'
  })
})
